package com.wanmait.baohan.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

@TableName(value = "initiate_project")
public class InitiateProject implements Serializable {
     @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 项目名
     */
    @TableField(value = "name")
    private String name;

    /**
     * 项目编号
     */
    @TableField(value = "number")
    private String number;

    /**
     * 负责人
     */
    @TableField(value = "staff_id")
    private Integer staffId;
    @TableField(exist = false)
    private Staff staff;


    @TableField(value = "project_type_id")
    private Integer projectTypeId;
    @TableField(exist = false)
    private String projectTypeName;

    /**
     * 工作模板id
     */
    @TableField(value = "work_template_id")
    private Integer workTemplateId;
    @TableField(exist = false)
    private WorkTemplate workTemplate;
    /**
     * 添加时间
     */
    @TableField(value = "input_time")
    private Date inputTime;

    /**
     * 开始时间
     */
    @TableField(value = "start_time")
    private Date startTime;

    /**
     * 结束时间
     */
    @TableField(value = "end_time")
    private Date endTime;

    /**
     * 风险评估内容（上传开会文件）
     */
    @TableField(value = "risk_assessment")
    private String riskAssessment;

    /**
     * 0未通过 1评估中 2通过（项目组长开会评估，总经理确定最后结果）
     */
    @TableField(value = "enable")
    private Integer enable;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 0删除  1存在
     */
    @TableField(value = "state")
    private Boolean state;

    @TableField(exist = false)
    private List<Staff> members;

    public List<Staff> getMembers() {
        return members;
    }

    public void setMembers(List<Staff> members) {
        this.members = members;
    }

    private static final long serialVersionUID = 1L;

    public static final String COL_NAME = "name";

    public static final String COL_NUMBER = "number";

    public static final String COL_STAFF_ID = "staff_id";

    public static final String COL_WORK_TEMPLATE_ID = "work_template_id";

    public static final String COL_INPUT_TIME = "input_time";

    public static final String COL_START_TIME = "start_time";

    public static final String COL_END_TIME = "end_time";

    public static final String COL_RISK_ASSESSMENT = "risk_assessment";

    public static final String COL_ENABLE = "enable";

    public static final String COL_REMARK = "remark";

    public static final String COL_STATE = "state";

    /**
     * @return id
     */
    public Integer getId() {
        return id;
    }

    /**
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取项目名
     *
     * @return name - 项目名
     */
    public String getName() {
        return name;
    }

    /**
     * 设置项目名
     *
     * @param name 项目名
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取项目编号
     *
     * @return number - 项目编号
     */
    public String getNumber() {
        return number;
    }

    /**
     * 设置项目编号
     *
     * @param number 项目编号
     */
    public void setNumber(String number) {
        this.number = number;
    }

    /**
     * 获取负责人
     *
     * @return staff_id - 负责人
     */
    public Integer getStaffId() {
        return staffId;
    }

    /**
     * 设置负责人
     *
     * @param staffId 负责人
     */
    public void setStaffId(Integer staffId) {
        this.staffId = staffId;
    }

    /**
     * 获取工作模板id
     *
     * @return work_template_id - 工作模板id
     */
    public Integer getWorkTemplateId() {
        return workTemplateId;
    }

    /**
     * 设置工作模板id
     *
     * @param workTemplateId 工作模板id
     */
    public void setWorkTemplateId(Integer workTemplateId) {
        this.workTemplateId = workTemplateId;
    }

    /**
     * 获取添加时间
     *
     * @return input_time - 添加时间
     */
    public Date getInputTime() {
        return inputTime;
    }

    /**
     * 设置添加时间
     *
     * @param inputTime 添加时间
     */
    public void setInputTime(Date inputTime) {
        this.inputTime = inputTime;
    }

    /**
     * 获取开始时间
     *
     * @return start_time - 开始时间
     */
    public Date getStartTime() {
        return startTime;
    }

    /**
     * 设置开始时间
     *
     * @param startTime 开始时间
     */
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    /**
     * 获取结束时间
     *
     * @return end_time - 结束时间
     */
    public Date getEndTime() {
        return endTime;
    }

    /**
     * 设置结束时间
     *
     * @param endTime 结束时间
     */
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    /**
     * 获取风险评估内容（上传开会文件）
     *
     * @return risk_assessment - 风险评估内容（上传开会文件）
     */
    public String getRiskAssessment() {
        return riskAssessment;
    }

    /**
     * 设置风险评估内容（上传开会文件）
     *
     * @param riskAssessment 风险评估内容（上传开会文件）
     */
    public void setRiskAssessment(String riskAssessment) {
        this.riskAssessment = riskAssessment;
    }

    /**
     * 获取0未通过 1评估中 2通过（项目组长开会评估，总经理确定最后结果）
     *
     * @return enable - 0未通过 1评估中 2通过（项目组长开会评估，总经理确定最后结果）
     */
    public Integer getEnable() {
        return enable;
    }

    /**
     * 设置0未通过 1评估中 2通过（项目组长开会评估，总经理确定最后结果）
     *
     * @param enable 0未通过 1评估中 2通过（项目组长开会评估，总经理确定最后结果）
     */
    public void setEnable(Integer enable) {
        this.enable = enable;
    }

    /**
     * 获取备注
     *
     * @return remark - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 获取0删除  1存在
     *
     * @return state - 0删除  1存在
     */
    public Boolean getState() {
        return state;
    }

    /**
     * 设置0删除  1存在
     *
     * @param state 0删除  1存在
     */
    public void setState(Boolean state) {
        this.state = state;
    }

    public Staff getStaff() {
        return staff;
    }

    public void setStaff(Staff staff) {
        this.staff = staff;
    }

    public WorkTemplate getWorkTemplate() {
        return workTemplate;
    }

    public void setWorkTemplate(WorkTemplate workTemplate) {
        this.workTemplate = workTemplate;
    }

    public Integer getProjectTypeId() {
        return projectTypeId;
    }

    public void setProjectTypeId(Integer projectTypeId) {
        this.projectTypeId = projectTypeId;
    }

    public String getProjectTypeName() {
        return projectTypeName;
    }

    public void setProjectTypeName(String projectTypeName) {
        this.projectTypeName = projectTypeName;
    }

    @Override
    public String toString() {
        return "InitiateProject{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", number='" + number + '\'' +
                ", staffId=" + staffId +
                ", staff=" + staff +
                ", projectTypeId=" + projectTypeId +
                ", projectTypeName='" + projectTypeName + '\'' +
                ", workTemplateId=" + workTemplateId +
                ", workTemplate=" + workTemplate +
                ", inputTime=" + inputTime +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", riskAssessment='" + riskAssessment + '\'' +
                ", enable=" + enable +
                ", remark='" + remark + '\'' +
                ", state=" + state +
                ", members=" + members +
                '}';
    }
}